#example7_8.py
#coding=utf-8
import numpy as np
import pandas as pd
df=pd.read_excel('stock.xlsx',sheet_name='stock',usecols='A:E,G')
print(df)
print('开盘价大于13的数据行：\n',df[df['Open']>13])
print('开盘价最高的数据行：\n',df[df.Open==max(df['Open'])])
print('收盘价位于[12.5,13.5]区间内的数据行：\n',
      df[df.Close.between(12.5,13.5)])
print('开盘价或收盘价为空值的数据行：\n',
      df[df.Open.isnull() | df.Close.isnull()])

i=3     #随机选取i行

#方式1：利用DataFrame.sample()方法选取
print('随机选取的%d行数据为：\n' % i,df.sample(i).sort_index())

#方式2：
#（1）先生成[0, len(df))区间内随机的3个整数
r=np.random.randint(0,len(df),i)
r.sort()    #对数组r进行排序
#（2）将数组中的数据作为标签，使用loc
print('随机选取的%d行数据为：\n' % i,df.loc[r,:])
#（2）将数组中的数据作为位置序号，使用iloc
print('随机选取的%d行数据为：\n' % i,df.iloc[r,:])

